Conventional graphical user interfaces have a number of limitations for applications that require graphical user interfaces of variable sizes and compositions during runtime. For example, some applications initially require a graphical user interface (“GUI”) of certain size and composition then, at some points during runtime, require a GUI of different size, composition, or both. For instance, a typical database application starts up requiring a few interface elements for a user to provide query input. Conventional techniques typically deploy a GUI with additional elements to present query results even though the additional elements are not used to provide query input. At some points during runtime, some applications require a smaller GUI or fewer GUI elements than those required initially. For example, a video media player does not require a media window after playing a video. Conventional techniques typically do not adjust a GUI based on usage.
Conventional user interface techniques typically execute with a static GUI, which is fixed in size, position, and orientation at startup. At some point during runtime, the static GUI becomes too small or too large for a runtime condition, which typically requires more or fewer interface elements. Conventionally, users manually resize, reposition, or reorient the GUI to cater to runtime conditions. The need to manually manipulate a GUI discourages users from using or keeping an application running.
Another conventional technique is to provide additional windows (e.g., popup windows) when additional interface elements are needed. However, there are problems associated with popup windows. One problem is that a display screen becomes visually “cluttered” with popup windows. Also problematic is a new popup window typically disrupts the user experience by visually interrupting a user's attention and requiring user interaction or intervention (e.g., clicking on one or more buttons in the popup window to close it) before allowing a user to interact with an application's initial or main window or previously popped up windows. For example, if an application's main window provides five popup windows in succession, a user must interact with all five popup windows before being able to interact with the application's main window.
Thus, an automatically transformed graphical user interface without the limitations of conventional techniques is needed.